package org.sgx.gapi.client.apis.youtube;

import com.google.gwt.core.client.JavaScriptObject;

/**
 * Search resource.
 * 
 * @see https://developers.google.com/youtube/v3/docs/search#resource
 * @author sg
 * 
 */
public class Search extends JavaScriptObject {
	protected Search() {
	}

	public static final native Search create()/*-{
		return {};
	}-*/;

	/**
	 * The id object contains information that can be used to uniquely identify the resource that matches the search request.
	 * 
	 * @return
	 */
	public native final SearchId id() /*-{
		return this["id"];
	}-*/;

	/**
	 * The id object contains information that can be used to uniquely identify the resource that matches the search request.
	 * 
	 * @param val
	 * @return this - for setter chaining
	 */
	public native final Search id(SearchId val) /*-{
		this["id"] = val;
		return this;
	}-*/;

	/**
	 * The snippet object contains basic details about a search result, such as its title or description. For example, if the search result is a video, then the title will be the
	 * video's title and the description will be the video's description.
	 * 
	 * @return
	 */
	public native final SearchSnippet snippet() /*-{
		return this["snippet"];
	}-*/;

	/**
	 * The snippet object contains basic details about a search result, such as its title or description. For example, if the search result is a video, then the title will be the
	 * video's title and the description will be the video's description.
	 * 
	 * @param val
	 * @return this - for setter chaining
	 */
	public native final Search snippet(SearchSnippet val) /*-{
		this["snippet"] = val;
		return this;
	}-*/;
}
